Techniques enabling adaptation of parameters in aid systems by user input

ABSTRACT

Disclosed are techniques and devices that are operable to receive one or a number of generalized parameters of an automated insulin delivery algorithm. An input of at least one generalized parameter corresponding to a user may be used to set one or more of the number of specific parameters of the automated insulin delivery algorithm based on the inputted at least one generalized parameter. Physiological condition data related to the user may be collected. The automated insulin delivery algorithm may determine a dosage of insulin to be delivered based on the collected physiological condition. Signals may be output to cause a liquid drug to be delivered to the user based on an output of the automated insulin delivery algorithm related to the determined dosage of insulin.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 17/935,483, filed Sep. 26, 2022, which claims the benefit of U.S. Provisional Patent Application No. 63/248,844, filed Sep. 27, 2021, the contents of each are incorporated herein by reference in their entirety.

BACKGROUND

Wearable drug delivery devices operate using a number of parameters that may be based on a user's history with wearable drug delivery devices. However, when a person is recently diagnosed with diabetes, the user usually does not yet have a user history with a drug delivery device. As a result, the user or the user's healthcare provider may have to perform what can be the daunting and tedious task of inputting the number of parameters into an automated insulin delivery (AID) algorithm that controls the delivery of insulin from the wearable drug delivery device.

AID algorithms for patients with Type 1 and Type 2 diabetes are evolving to simplify the onboarding experience of new users (e.g., no need to enter clinical parameters, such as basal profile, insulin-to-carbohydrate (IC) ratio, and/or correction factor (CF)). This development correspondingly causes an increasing “obfuscation” in the ways new users can impact, which may be adversely, the performance of these systems. The complexity of the calculations performed by the AID algorithms using the clinical parameters may make new users as well as some healthcare providers weary of adjusting the parameter settings, as such, the adjusted parameter settings may not provide an optimal outcome for the user.

In addition, as AID systems for T1DM management approach the capability to provide fully automated control of a user's diabetes treatment plan, there is still a desire by users or their healthcare providers to be able to optionally alter the automated calculation of system settings. For instance, an AID system may assume initial values for the user's clinical input parameters such as the basal profile, the IC ratio and the CF based on the user's insulin history, but the users may desire to modify such input parameters for their own reasons.

It would be beneficial to have techniques and devices that enable generalized adjustment of the parameter settings of an AID algorithm without the inadvertent obfuscation of the functions of the AID algorithm.

BRIEF SUMMARY

In one aspect, a controller is presented. The controller includes a processor, an input/output device, and a memory storing instructions. The instructions when executed by the processor may configure the processor to present, on the input/output device, a graphical user interface offering an input field for a sole generalized parameter of an automated insulin delivery algorithm. An input of the sole generalized parameter may be received via the input/output device. In response to receiving the input of the sole generalized parameter, a specific parameter of the automated insulin delivery algorithm may be set based on the inputted sole generalized parameter. The automated insulin delivery algorithm with the set specific parameter may determine a dosage of insulin to be delivered to the user. The determined dosage of insulin may be caused to be delivered to the user.

In a further aspect, a method is provided. The method includes presenting, on an input/output device of a user device, a graphical user interface offering an input field for a sole generalized parameter of an automated insulin delivery algorithm. An input of the sole generalized parameter may be received. In response to receiving the input of the sole generalized parameter, a specific parameter of the automated insulin delivery algorithm may be set based on the inputted sole generalized parameter. A dosage of insulin to be delivered to a user may be determined by the automated insulin delivery algorithm using the set specific parameter. The determined dosage of insulin may be caused to be delivered to the user.

In another aspect, a system is provided that includes a non-transitory computer-readable storage medium. The computer-readable storage medium may include instructions that when executed by at least one processor, cause the at least one processor to present, on an input/output device, a graphical user interface offering an input field for a generalized parameter of the automated insulin delivery algorithm. An input of only one generalized parameter may be received via the input/output device. In response to receiving the input of the only one generalized parameter, a specific parameter of the automated insulin delivery algorithm may be set based on the inputted generalized parameter. The automated insulin delivery algorithm using the set specific parameter may determine a dosage of insulin to be delivered to the user. The determined dosage of insulin may be caused to be delivered to the user.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings, like reference characters generally refer to the same parts throughout the different views. In the following description, various embodiments of the present disclosure are described with reference to the following drawings, in which:

FIG. 1A illustrates a flowchart of an example of a simplified onboarding process that allows for simplified input of a number of generalized parameters;

FIG. 1B illustrates a flowchart of another example of a simplified onboarding process that allows for simplified input of a sole generalized parameter;

FIG. 2A illustrates an example of a graphical user interface suitable for implementing the example onboarding process of FIG. 1A;

FIG. 2B illustrates an example of a graphical user interface suitable for implementing the example onboarding process of FIG. 1B;

FIG. 3 illustrates a flowchart of an example process utilizing a generalized parameter input via the examples of FIG. 1 and FIG. 2 ;

FIG. 4 illustrates a flowchart of an example process utilizing particular generalized parameter input via the examples of FIG. 1 and FIG. 2 ;

FIG. 5 illustrates a flowchart of an example process utilizing another particular generalized parameter input via the examples of FIG. 1 and FIG. 2 ;

FIG. 6 illustrates a flowchart of an example process utilizing yet another particular generalized parameter input via the examples of FIG. 1 and FIG. 2 ;

FIG. 7 illustrates a flowchart of an example process that determines a finalized setting of a specific parameter; and

FIG. 8 illustrates a drug delivery system operable to implement the examples of FIGS. 1-7 .

DETAILED DESCRIPTION

The disclosed techniques and devices provide the user with input devices that allow for the input of generalized AID algorithm parameters that are interpretable by the AID algorithm for use in the complex calculations that control a wearable drug delivery device according to the user's diabetes treatment plan.

FIG. 1A illustrates a flowchart of an example onboarding process that allows for simplified input of a number of generalized parameters. The inputted general parameters may be usable by an automated insulin delivery (AID) algorithm. Different parameters, input during an onboarding process of the user with the AID algorithm, may provide the AID algorithm with enough information that in combination with default settings enable a user to begin using a wearable drug delivery device.

Although users are not required to enter any clinical parameters, such as basal profile, IC ratio and/or Correction Factor, during the initial set up (i.e., onboarding) of their wearable drug delivery device, their health care providers may review available blood glucose outcomes and may consider that the users may need increased or decreased insulin delivery compared to default dosages of the AID algorithm.

The AID algorithm may use safety constraints to limit the effects of some inputs to the AID algorithm from the user for safety purposes.

In block 102, the routine 100 presents on an input/output device of a user device, such as a controller, a graphical user interface input offering input fields for a generalized parameter of a number of generalized parameters of an automated insulin delivery algorithm. For example, the number of generalized parameter(s) usable by the AID algorithm may be 1, 2, or up to 3-6, or the like. For example, a generalized parameter may be a user's weight, an age, a reference basal, an activity level, and/or a type of diet, gender, a type of diabetes (e.g., Type 1, Type 2, Gestational), and/or an equipment brand (e.g., equipment being an infusion pump, a continuous glucose monitor, a heart rate monitor, a fitness device, blood oxygen sensor, or the like). The number of generalized parameters, for example, is less than a number of specific parameters of the automated insulin delivery algorithm. Meanwhile, there may be a number of specific parameters. Examples of specific parameters may include a blood glucose measurement value, a value for a user's HbA1c, an estimated initial total daily insulin (TDI), a calculated TDI, an upper boundary of insulin delivery, a baseline basal rate delivery of insulin, basal/bolus ratio, an insulin-on-board (JOB), or a combination of two or more of the foregoing. In block 104, the routine 100 receives an input of at least one generalized parameter corresponding to a user.

In block 106, the routine 100 in response to receiving the input of the at least one generalized parameter, sets one or more of the number of specific parameters of the automated insulin delivery algorithm based on the inputted at least one generalized parameter. For example, the specific parameters that may be set may include an estimated initial total daily insulin (TDI) amount, an upper boundary of insulin delivery, a basal/bolus ratio, or an insulin-on-board (IOB) amount, or a combination of two or more of the foregoing. For example, the AID algorithm may compare the inputted at least one generalized parameter to a threshold. Based on a result of the comparison, the AID algorithm may revise coefficients or elements of a cost function.

In block 108, the routine 100 may begin collecting physiological condition data related to the user, such as wirelessly via a blood glucose meter or a continuous glucose monitor, or directly from a user input. In block 110, the automated insulin delivery algorithm implementing the routine 100 may determine a dosage of insulin to be delivered based on the collected physiological condition of the user. The AID algorithm may be communicatively coupled to a pump mechanism or the like that is coupled to a user and that is operable to deliver insulin or other medication to a user. In block 112, the routine 100 may cause a liquid drug to be delivered to the user based on the determined dosage of insulin that is output from the AID algorithm.

It is also envisioned that the onboarding process may be further simplified to permit input of a sole generalized parameter, for example, a user's weight in kilograms or pounds. An example process flow of this further simplified onboarding process is illustrated in FIG. 1B and described below.

In the routine 101, an input/output device of a controller may present, at 111, a graphical user interface input offering an input field for a sole generalized parameter of an automated insulin delivery algorithm. In a specific example, the sole generalized parameter is a user's weight (which refers to a user's current weight). In block 113, the routine 101 receives the input of the sole generalized parameter.

In block 115, the routine 101, in response to receiving the input of the sole generalized parameter, sets one or more of the number of specific parameters of the automated insulin delivery algorithm based on the inputted sole generalized parameter. For example, when the sole generalized parameter is weight, the AID algorithm may calculate a TDI value based on the inputted weight. This TDI value may be an initial TDI estimate for the user based on the user's weight. Based on the calculated TDI value, the AID algorithm may set or revise other coefficients, parameters, or elements of a cost function or model.

In block 117, the automated insulin delivery algorithm implementing the routine 100 may determine a dosage of insulin to be delivered based on the collected physiological condition data. The AID algorithm may be communicatively coupled to a pump mechanism or the like that is coupled to the user and that is operable to deliver insulin or other medication to the user.

In block 119, the routine 101 may cause a liquid drug to be delivered to the user based on the determined dosage of insulin that is output from the AID algorithm.

After initial parameters are entered (e.g., weight), calculated (e.g., TDI based on weight), or set (e.g., parameters, coefficients, or elements of a cost function or model), the system may collect physiological condition data related to the user, such as wirelessly via a blood glucose meter or a continuous glucose monitor, or directly from a user input. The collected physiological condition data may be used by the system going forward to update the various parameters (e.g., modify the initial TDI estimate, which was based on the user's weight, up or down to more accurately reflect the user's medicament needs).

FIG. 2 illustrates an example of a graphical user interface of a user device that is suitable for implementing the example onboarding process of FIG. 1 . Generalized parameters that may be useful for entry into the AID algorithm by the user may include a reference basal value, a user's age, a user's activity level, and a diet type.

As shown in FIG. 2A, a controller 202 may be operable to receive inputs from a user via an input/output device 206. The input/output device 206 may be a touchscreen as shown in FIG. 2 or may include one or more of a keyboard, a digital personal assistant, such as Alexa®, Siri®, Cortana® or Google Assistant®, a display, a speaker, or the like. The graphic user interface 204 may present one or more input fields for input of the generalized parameters. For example, a slider bar, a radio button, a touch button, a check box, or the like may be used as an input device to enter a respective generalized parameter. The controller 202 may be equipped with a processor that is operable to execute programming instructions to implement the input/output device 206 and also execute an automated insulin delivery algorithm. In the example of a reference basal value, the slider bar may be used as the input field for a reference basal input 208. An example value for reference basal may be between 1 and 4 Units that may be input as the reference basal input 208. Similarly, the age input 210 and the activity level input 212 may also be input via slider bars. An alternative, input/output device 206 may be a radio button that a user manipulates using a circular gesture to indicate selection of a diet type and indicate the diet type input 214 of the user. Another alternative may enable the user to indicate different diet types for individual meals, such as breakfast, lunch, snack, or dinner via a meal indicator input 216, which may be a checkbox input, or the like. Each type of meal may correspond to a particular diet type, and the user may specify a diet type for each type of meal using the meal indicator input 216 and diet type input 214 sequentially for each type of meal.

Of course, other input devices may be used to enter the generalized parameter, such as a keyboard, mouse, stylus, voice recognition, or the like. In addition, all of the generalized parameters do not need to be entered. The graphic user interface 204 may present the respective inputs of the reference basal input 208, age input 210, activity level input 212, diet type input 214, and the meal indicator input 216 on separate screens that are presented sequentially after a user has an opportunity to either make the requested input or choose not to input the requested generalized parameter.

The example of FIG. 2B illustrates a graphical user interface suitable for implementing an example onboarding process utilizing a sole generalized parameter. In FIG. 2B, the sole generalized parameter may be a user's weight. Alternatively, this user input may be used in conjunction with other user inputs (such as those depicted in FIG. 2A). But in one preferred embodiment, the user need only enter their weight for the system to be initialized and set up for delivering personalized medicament for the user.

For example, the controller 202 of FIG. 2B may be operable to receive inputs from a user via an input/output device 206. The input/output device 206 may be a touchscreen that is operable to present a graphical user interface 201. The graphical user interface 201 may present various prompts for a user to enter the sole generalized parameter. For example, prompt 203 may request a selection between kilograms or pounds for the units of the user's weight. Alternatively, the units of the inputted weight may be pounds or kilograms by default, depending on the user's geographic location, and the units may be displayed to the user. A numerical keypad 205 may be provided to allow the user to enter their weight. The presentation window 207 present the inputted user's weight and presentation window 209 may present an initial estimate of the user's total daily insulin (TDI) as calculated by the AID algorithm. As mentioned above, this initial TDI estimate may be used initially by the system to determine how much medicament (e.g., insulin) to deliver to the user initially, and may be changed over time based on blood glucose measurement data. An optional confirmation button 211 may be presented to allow the user to optionally confirm the presented initial TDI determination. In an alternative embodiment, the user may be allowed to change the initial TDI determination by tapping on the TDI amount in presentation window 209 and entering a new value (with a numerical keypad) or increasing or decreasing the initial TDI determination up or down (for example, with arrow keys). If the user changes the initial TDI determination, the modified value may be used as the initial TDI determination. Limitations or warnings may be applied to any changes the user attempts to make. For example, if the initial TDI determination based on the user's inputted weight was determined to be 42 Units of medicament, and the user attempts to change this value to 65 Units of medicament, the system may output an error or a confirmation screen to the user asking the user to either confirm the inputted TDI entry or confirm the user's inputted weight (and units). Alternatively, the system may only allow changes to the initial TDI determination up to certain threshold(s), such as 20% or 30% upward, and 40% or 60% downward; and if the user attempts to input a modified TDI amount in excess of the threshold(s), the system may output a message to the user and also change the modified TDI amount up to the threshold.

In an operational example, a user may be new to infusion pump therapy and may not know what TDI to use for their system. To accommodate these and other situations, this embodiment allows a user to only input their weight (e.g., in pounds or kilograms). If inputted in pounds, the programming code providing this function for the AID algorithm may convert the inputted weight in pounds to kilograms for purposes of determining an initial TDI estimate for the user; or a different conversion factor may be used that corresponds to using pounds instead of kilograms such that no lb-kg conversion is necessary. In either case, a proper conversion factor will be used that corresponds to the units of the weight input by the user. The AID algorithm may use a predetermined factor to automatically calculate an initial TDI for the user. In an example, the TDI may be the only specific parameter that is set in response to the user's weight being input as the sole generalized parameter. For example, a multiplier may be applied to the user's weight. The multiplier may have a preselected value that is approximately equivalent to a steady state TDI value for a large population of users when multiplied by the user's weight. For example, a value of 0.6 may be used as the conversion factor or multiplier when the inputted weight is in kilograms. Alternatively, the multiplier may be preselected to be 0.3 or 0.2 (when the inputted weight is in kilograms) to result in a more conservative initial TDI estimate for the user. Other conversion factors or multipliers may be used. And corresponding conversion factors or multipliers may be used when the inputted weight is in units of pounds. By way of example, if the user indicates at 203 that their weight will be input in pounds and inputs a weight of 155 pounds, the routine may be operable to convert the 155 pounds to 70.3 kilograms. Based on the number of kilograms, the AID algorithm may automatically further calculate the user's starting or initial TDI as 42.2 Units (i.e., 70.3×0.6 is 42.2, which may be rounded to 42 Units in some embodiments). However, the 0.6 preselected multiplier may be considered too aggressive, so the preselected multiplier may be a more conservative value of 0.3 or 0.2. The multiplier may be preselected by the manufacturer of the drug infusion system. Based on the calculated (and optionally confirmed) TDI, the AID algorithm further determines a basal delivery rate for the user, which may be based on a 1:1 basal/bolus ratio. For example, if the initial TDI estimate was determined to be 42 Units, the system may determine that 21 Units should be allocated to basal deliveries, and if this amount is delivered uniformly over 24 hours, the user would initially receive 0.875 Units of medicament per hour. Bolus dosages may also be calculated using this initial TDI estimate and the system's bolus calculator may rely (at least initially) on this initial TDI estimate when calculating how much medicament to deliver in response to meals or as correction boluses. As mentioned elsewhere in this disclosure, the initial TDI estimate may change over time to more accurately reflect the user's medicament needs. In other words, as additional data is gathered regarding the user (e.g., blood glucose measurement values), various system parameters, including a TDI for the user, may change over time. Additionally, or alternatively, if the user enters additional generalized parameters, the initial TDI estimate may increase or decrease based on the user's entries. But if no other parameters are entered by the user, the system may use the initial TDI estimate that is determined based on the sole input of the user's weight.

FIG. 3 illustrates a flowchart of an example process utilizing a generalized parameter input via the examples of FIG. 1 and FIG. 2 .

Reference basal may be a rate, such as a number of units (U) per hour, units per day, or the like. In an example, the AID algorithm may have a default basal rate setting of 1 U per hour. In block 302, the routine 300 receives via a graphical user interface, such as graphic user interface 204 of FIG. 2 , an input indicating a reference basal rate of insulin (i.e., indicated by a Bref), in units per time period, such as hour or day. Based on this single input, other parameters may also be determined by the AID algorithm and managed by the system, such as amount and time of bolus dosages, recommended dosages and times of open-loop insulin deliveries, and the like.

In an example, automated delivery systems are operable to deliver a certain basal amount of insulin, and that amount of insulin is usually dependent on a default setting of 1 unit of insulin per hour, for example. In some situations, the user or healthcare provider may enter 1.5 U per hour, which is a 50% increase over the 1 unit per hour default setting. However, an upper boundary safety constraint may limit the basal insulin delivery to, for example, 1.2 U per hour as shown in the following equation. In other words, the percentage increase may be limited to 20% (i.e., 100×0.2) in this example. Of course, the percentage increase boundary may be tunable. The degree of tunability may be based on additional details related to the user, such as age, weight, gender and the like. The user or the healthcare provider can input an estimate of the user's basal rate as a reference basal for use as a generalized parameter by the AID algorithm.

In block 304, a processor executing routine 300 as part of the AID algorithm may determine a percentage of a user's total daily insulin that is represented by the reference basal rate of insulin. In response to the input of the reference basal, the AID algorithm may determine an upper boundary for the amount of insulin that is to be delivered so a user does not over deliver insulin.

The reference basal rate parameter B_(ref) (as described in more detail below) may be input by a user into the AID algorithm. In one example, the reference basal rate parameter B_(ref) may be input by the user as a single parameter, which the user may track and may be input to the AID algorithm as described herein. Alternatively, the user at onboarding may set their TDI as a default, or alternatively, the user may input a TDI value that was calculated for the user by a clinician and the system based on the inputted TDI value may calculate a B_(ref) value for use by the AID algorithm as described herein.

Although users are not required to enter any clinical parameters, such as basal profile, IC ratio and/or Correction Factor, their health care providers may review the glucose outcomes and may consider that the users may need increased or decreased insulin delivery compared to the average AID insulin deliveries. The users and/or HCPs can then provide this reference basal, B_(ref), to the AID system's algorithm. The AID algorithm may be operable to modify the maximum delivery constraint, upper boundary UB_(original), of the AID algorithm based on this B_(ref) as follows:

$\begin{matrix} {{UB}_{ref} = {{UB}_{original} \cdot {\min\left( {{\max\left( {\frac{B_{ref}}{0.5 \cdot {TDI}},{{lower}{{mod}.{value}}}} \right)},{{upper}{{mod}.{value}}}} \right.}}} & {{Equation}1} \end{matrix}$

where UB_(original) is the maximum delivery constraint for insulin to be delivered over the course of a day, the lower modification (mod.) value is a minimum factor that modifies UB_(original) the least amount, the upper modification (mod.) value is a maximum factor that modifies UB_(original) the greatest amount, and B_(ref) divided by 0.5×TDI represents the ratio of user basal (B_(ref)) to the nominal TDI basal (0.5×TDI).

In an example, Equation 1 may be used during an onboarding process. In an onboarding example, the TDI value in Equation 1 may be a system generated TDI. In an example, TDI is specific parameter that may be set by the AID algorithm based on a user input during onboarding. For example, the AID algorithm may generate a TDI based on a user's insulin history. If a user's insulin history does not exist, the TDI may be generated based on a user weight-based calculation. For example, a user when onboarding may enter their weight as a sole generalized parameter, the AID algorithm may generate an estimated TDI based on the weight and the estimated TDI may be set as the TDI for use by the AID algorithm to generate insulin dosages for delivery to the user. The AID algorithm may update the TDI as the AID algorithm gains additional information.

Also, during the example of the onboarding process that utilizes the input of multiple generalized parameters, in addition to the user entering their weight, the user may enter a B_(ref) value. In the routine 300 at block 306, the processor may determine a maximum value between the percentage of the user's total daily insulin that is represented by the reference basal rate of insulin (i.e., B_(ref) divided by (0.5×TDI)) and a lower modification value (i.e., lower mod. value of Equation 1). In an operational example, the AID algorithm, using Equation 1, may determine a maximum value between the entered B_(ref) value divided by half of the user's TDI (i.e., 0.5 times the user's TDI) and a lower modification threshold value (i.e., lower mod. value in Eq. 1 above), such as 0.8 or the like.

In block 308, the routine 300 may determine a minimum between the determined maximum and an upper modification value. For example, in response to determining the maximum value, the AID algorithm may utilize a minimum function to evaluate the determined maximum value against an upper modification threshold value (i.e., upper mod. value in Eq. 1 above), such as 1.2 or the like. The outcome of the evaluation of the minimum function may provide a modification factor that may be used to modify the original upper boundary, UB_(original). The minimum function is formulated to provide a value that may be between 0.8 and 1.2 based on the example lower and upper modification factors provided above.

In block 310, the routine 300 may multiply a default original upper boundary of insulin delivery by the determined minimum. Continuing with the operational example, the original upper boundary, UB_(original) may be a value, such as 4 Units of insulin. Assume in the example that the minimum function returned a value of 0.9, the reference upper boundary, UB_(ref), may be UB_(original) times 0.9. Or, using the example value of 4 U for UB_(original), UB_(ref) is 4 U times 0.9, which equals 3.6 U. Using the example values for the lower modification threshold value (e.g., 0.8) and the upper modification threshold value (e.g., 1.2) and the example 4 U for the original upper boundary (i.e., UB_(original)), an example range of the reference upper boundary of insulin (i.e., UB_(ref)) may be between 3.2 U and 4.8 U.

In block 312, the processor executing routine 300 may use a result of the multiplying (i.e., UB_(ref)) to calculate basal insulin dosages. When the basal insulin dosages are calculated, the processor upon executing the AID algorithm may cause a wearable drug delivery device to deliver the calculated basal insulin dosages to a user, for example, as part of a diabetes treatment plan.

Different processes may be implemented in response to the other generalized parameters entered by the user.

FIG. 4 illustrates a flowchart of an example process utilizing a generalized parameter input via the examples of FIG. 1 and FIG. 2 . The graphical user interface for the AID algorithm may provide an optional Age entry that enables the insulin cost function to be modified based on a user's age. For example, the AID algorithm may modify the cost function when the age entry to the graphical user interface is lower than a certain threshold, such as 6 years old. The AID algorithm may determine dosages of insulin to be delivered based on minimizing a cost function. The cost function may be manipulated using a pair of weighted coefficients.

An example of a general parameter for input, such as age, may be used when younger children are the user of the wearable drug delivery device. Based on the generalized parameter of the child's age, the routine 400 may modify the calculation of one of the weighted coefficients. For example, healthcare providers may particularly desire to make a fine-tuned adjustment of the AID algorithm because the impact of the pump resolution may cause significant variations in insulin needs for the very low total daily insulin (TDI) amounts of younger children (e.g., the 0.05 U pump resolution versus 5 U of TDI=1% variation based on a single pulse of insulin). To limit the potential for wide variations in TDI, the AID algorithm may include an input field in a graphical user interface for entry of an age of the user, such as age input 210 of FIG. 2 . For example, the entered age may be compared to a certain threshold, such as 6 years of age. If the entered age is lower than the certain threshold, such as 6, the AID algorithm may decrease, for example, a minimum scaling rate of insulin costs to a lower value.

As mentioned above, one or more of the generalized parameters may cause the AID algorithm to adjust the cost function to address one or more conditions that may be influenced by the one or more generalized parameters. As a starting point, it is helpful to review a typical conventional cost function. A typical formulation for cost J is:

$\begin{matrix} {J = {{Q \cdot {\sum\limits_{i = 1}^{M}{G_{p}(i)}^{2}}} + {R \cdot {\sum\limits_{i = 1}^{n}{I_{p}(i)}^{2}}}}} & {{Equation}2} \end{matrix}$

-   -   where Q and R are the pair weighted coefficients mentioned         above. The factor

G _(p)(i)²

-   -   is the square of the deviation between the projected blood         glucose level for an insulin dosage at cycle i and the projected         blood glucose level for the basal insulin dosage, and M is the         number of cycles in the prediction horizon.

The factor

I _(p)(i)²

-   -   is the square of the deviation between the projected insulin         delivered at cycle i and the insulin for basal insulin delivery,         and n is the control horizon in cycles.

Thus, the factor:

Q·Σ _(i=1) ^(M) G _(p)(i)²

-   -   is the weighted glucose cost, and the factor:

R·Σ _(i=1) ^(n) I _(p)(i)²

-   -   is the weighted insulin cost. The total cost J is the sum of the         weighted glucose cost and the weighted insulin cost. A cycle has         a fixed interval, such 5 minutes.

The coefficient R, referred to as “a scaling rate of insulin,” is a tunable value that may affect the total cost J and that is based on delivery of insulin. Healthcare providers may particularly desire to have fine-tuned adjustment of AID systems for younger children, such as those around the age of 5-7. One example of the generalized parameters is age, and the AID algorithm may modify the coefficient R based on age. In the Equation 2, the example age is 6, but other ages for children may also be considered. Young children simply need less insulin than teen aged children or adults. A drug delivery device in a single pulse of the pump mechanism (also referred to as the “pump resolution”) may deliver 0.05 Units of insulin to a user. When one considers that a total daily amount of insulin (i.e., TDI) for young children may be 5 Units, the pump resolution (of 0.05 U) as compared to a TDI of 5 U represents a 1% variation based on the single pulse of the pump mechanism. As a result, changes in the number of pulses of the pump mechanism may cause significant variations in insulin needs for users that function with very low TDI, such as younger children. Therefore, it is beneficial to be more conservative for people with low TDI—for example, people who are younger because small changes in the amount of insulin delivered by the pumps to young users may have a significant impact on the young user's TDI.

In the cost function, the scaling rate of insulin R may include an aggressiveness factor having an approximate value 9000 that may be used for users with mid-range TDI and that represents an adjusted weight on insulin deviation versus glucose deviation. The higher value of the aggressiveness factor, the more heavily the AID algorithm penalizes the insulin deviation versus any glucose excursions. In a standard implementation, the aggressiveness factor is fixed. However, the aggressiveness of the scaling rate of insulin R may be attenuated to accommodate the needs of younger users.

The graphical user interface for the AID algorithm may provide an optional age entry that enables the insulin cost function to be modified based on a user's age. For example, the AID algorithm may modify the cost function when the age entry to the graphical user interface is lower than an age threshold, such as 6. As shown in Equation 3 below, the AID algorithm may decrease the minimum scaling rate of insulin (i.e., coefficient R) to a lower value, as follows:

$\begin{matrix} {R_{hi} = \left\{ \begin{matrix} {9000 \cdot \left( \frac{41}{\max\left( {{\min\left( {{TDI},10.25} \right)},61.5} \right)} \right)^{2}} & {{Age} > 6} \\ {9000 \cdot \left( \frac{41}{\max\left( {{\min\left( {{TDI},8.2} \right)},61.5} \right)} \right)^{2}} & {{Age} \leq 6} \end{matrix} \right.} & {{Equation}3} \end{matrix}$

where, in this example, the value 41 is the TDI of a “standard” patient, who has an unmodified R_(hi) of 9000. Patients having another TDI value may have their R_(hi) scaled, for example, according to the inverse square law, but the scaling may be set stop at a maximum TDI, for example, of 61.5 at the high end and a TDI of 10.25 or 8.2, for example, at the low end for users over 6 years of age or equal to 6 or under, respectively.

The AID algorithm may process the inputted age according to routine 400. In routine 400, if the user's age is greater than the age threshold, the AID algorithm may as the user's TDI goes down—e.g., below an over-age threshold, such as 10.25 units or the like, the aggressiveness factor may be increased. For example, the value R_(hi) directly feeds into the cost function of Equation 2 as a substitute for the value R. But typically, algorithms have a scaling aggressiveness, where the higher the TDI is the more aggressive the AID algorithm is designed to behave, and vice versa. If a user has a low TDI, the AID algorithm still aims to be aggressive but is more conservative (e.g., changes have lesser magnitudes and are less drastic) when the user's TDI is mid-range.

In an operational example, the routine 400 receives via a graphical user interface an input indicating an age of a user at block 402. In block 404, the routine 400 modifies parameters of a cost function based on the inputted age. The cost function of Equation 2 is usable by the AID algorithm to determine an amount of a dosage of insulin for the user. In block 406, the routine 400 determines a value of a scaling factor in the cost function by using the modified parameters. Based on a value of the age input, the AID algorithm may determine the scaling factor differently. For example, the AID algorithm executing routine 400 at block 406 may in response to the age of the user being greater than an age threshold, determine a minimum between an over-age constant and the user's total daily insulin value. The AID algorithm may determine a maximum between the determined minimum and a delivery threshold. A timing threshold may be divided by the determined maximum and the quotient may be squared. A default scaling factor value may be multiplied by a result of the squaring, where the result is the value of the scaling factor. Alternatively, at block 406, the AID algorithm may, in response to the age of the user being less than or equal to an age threshold, determine a minimum between an underage constant and the user's total daily insulin value. A maximum between the determined minimum and a delivery threshold may be determined. The AID algorithm may divide a timing threshold by the determined maximum. squaring the quotient of the division and multiplying a default scaling factor value by a result of the squaring, where the result is the value of the scaling factor.

In block 408, the routine 400 calculates basal insulin dosages by the determined scaling factor in the cost function. The AID algorithm may generate signals that cause the calculated basal insulin dosages from block 408 to be delivered to the user via a wearable drug delivery device.

Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.

FIG. 5 illustrates a flowchart of an example process utilizing a further generalized parameter input via the examples of FIG. 1 and FIG. 2 .

A common rule of thumb is a 50/50 split of insulin delivery provided via basal and bolus dosages, respectively. In other words, half of the user's total daily insulin is provided by basal dosages and the other half is provided by bolus dosages. An active user when participating in activities typically needs less insulin since during activity their cells are more sensitive to insulin and the uptake of insulin is more efficient.

The graphical user interface for the AID algorithm may provide an activity level input 212 entry that enables the determination of insulin dosages to be modified. Users that participate in a high level of activity may use significantly less basal insulin compared to those who have less active lifestyles. In these cases, the user or healthcare provider may indicate to the system that they want to cover an insulin amount less than 50% of their total insulin as basal. For example, the AID algorithm may modify the basal/bolus split based on the inputted activity level input 212.

This Basal/bolus Split, S_(Basal), can be set to a lower value, such as 40% for high activity users, instead of 50% for standard activity users if users indicate this trigger when inputting the generalized parameters. The AID algorithm may determine the basal split parameter, S_(basal), based on the activity level input 212 according to the following tunable settings:

$S_{basal} = \left\{ \begin{matrix} 0.5 & {{Standard}{Activity}} \\ 0.4 & {{High}{Activity}} \end{matrix} \right.$ Basalsplitparameter

The AID algorithm may determine the basal TDI amount based on the following calculation:

Basal_(τDI) =S _(basal) ·TDI   Equation 3

In alternate embodiments, the 0.4 value for high activity can be made variable between a range, such as 0.35 to 0.5, based on the user's draggable setting of activity level input 212 of FIG. 2 .

In an operational example, the routine 500 may be operable at block 502 to receive via a graphical user interface an input indicating an activity level of a user. This setting may be cross-checked with an accelerometer accessible to the AID algorithm. For example, if the user is not active for several hours (e.g., 3 hours, 4 hours, 5 hours, or 6 hours), the AID algorithm may be operable to generate an alert that the user's basal split value is less than 50% and might need adjusting.

In block 504, the AID algorithm executing the routine 500 may be operable, in response to the indicated activity level, to set a basal split parameter used in a total daily insulin formula.

In block 506, the AID algorithm executing the routine 500 may determine a total daily insulin (TDI) value of the user. The determination of TDI may be based on age, physiological condition information received from user or the like.

In block 508, the routine 500 may enable determination of a basal total daily insulin amount to be provided to the user.

In block 510, the routine 500 may calculate basal insulin dosages based on the determined basal total daily insulin. The AID algorithm may generate signals that cause the calculated basal insulin dosages from block 510 to be delivered to the user via a wearable drug delivery device.

Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.

The basal split parameter may also be modified based on the input of yet another generalized parameter in the graphic user interface 204 of FIG. 2 . FIG. 6 illustrates a flowchart of an example process utilizing yet another particular generalized parameter input via the examples of FIG. 1 and FIG. 2 . This generalized parameter is for a type of diet. For example, some users may adhere to non-standard diets, such as a Keto (low carbohydrate) diet, which may require significantly higher basal insulin delivery amounts (relative to bolus insulin delivery amounts) as compared to standard dietary lifestyles that are higher in carbohydrate intake. The AID algorithm may enable the user to indicate a type of diet or at least offer an option to indicate a non-standard diet.

If you are not eating carbohydrates, the need for bolus insulin is reduced but the need for basal insulin may increase to cover overall insulin needs of the user. Users that partake in non-standard diets may instead require significantly higher basal compared to standard lifestyles, such as in a keto diet. For example, if the user indicates a keto diet, the basal split parameter S_(basal), which is a tunable parameter, can be set to a higher value, such as 60%, instead of 50% as shown below:

$S_{basal} = \left\{ \begin{matrix} 0.5 & {{Standard}{Diet}} \\ 0.6 & {{Keto}\left( {{Low}{Carb}} \right){Diet}} \end{matrix} \right.$

Because the user is not ingesting as many carbohydrates with a low carbohydrate diet, the relative amount of basal insulin increases, as the required amount of insulin delivered via bolus dosages goes down. As mentioned, the basal split parameter is tunable, for example, the diet type input 214 may cause the basal split parameter to range between 0.65 to 0.5 instead of being fixed at 0.6 based on user's draggable setting of relative amount of carbohydrate ingestion.

The AID algorithm may, in response to the basal amount being greater than a threshold, generate a prompt on the graphic user interface 204 of FIG. 2 asking the user if they are still on the low carbohydrate diet.

During onboarding processes at the set up for a wearable drug delivery device, the use of generalized parameters enables users to input simpler values as compared to the intimidating calculations performed by diabetes healthcare professionals while still enabling the AID algorithm to establish an insulin delivery regimen for the user.

In an operational example, the routine 600 may be operable at block 602 to receive via a graphical user interface an input indicating a type of diet of a user.

In block 604, the processor executing the routine 600, in response to the indicated diet type, may set a basal split parameter used in a total daily insulin formula.

In block 606, the processor executing the routine 600 may determine a total daily insulin value of the user.

In block 608, the processor executing the routine 600 may determine a basal total daily insulin to be provided to the user.

In block 610, processor executing the routine 600 calculates basal insulin dosages based on the determined basal total daily insulin. The AID algorithm may generate signals that cause the calculated basal insulin dosages calculated at block 610 to be delivered to the user via a wearable drug delivery device.

FIG. 7 illustrates a flowchart of an example process that determines a finalized setting of a specific parameter.

The earlier examples discuss the generalized parameters that a user may input that are used by the AID algorithm to modify a setting of one or more specific parameters.

In this example, the AID algorithm may initially calculate specific parameters of a user's insulin delivery regimen, such as a user's typical basal dosage value (e.g., B_(auto)), correct factor (CF) value (e.g., CF_(auto)), and Insulin-to-carbohydrate (IC) ratio value (e.g., IC_(auto)), automatically based on the user's total daily insulin needs in the user's available treatment plan history.

In operation, the AID algorithm may use the following equations to automatically set the respective specific parameters based on a user's total daily insulin (TDI) setting for operation of the user's wearable drug delivery device:

$\begin{matrix} {B_{auto} = {0.5 \cdot \frac{TDI}{24}}} & {{Equation}4} \end{matrix}$

The parameter values of Equations 4, 5 and 6 may be default settings for each of the respective specific parameters. Equation 4 is an example of an automatic basal delivery amount, Equation 5 is an example of a correction factor, and Equation 6 is an example calculation of a user's insulin-to-carbohydrate ratio.

Equation 4 determines an hourly basal rate of insulin delivery B_(auto) based on a rule of thumb related to TDI mentioned in an earlier example related to the basal split parameter. As an initial or default basal split parameter setting, the AID algorithm may utilize 50% or 0.5 as the basal split parameter. In this case, the automatic basal setting is determined according to Equation 4 in which the user's TDI is divided by the number of hours in a day (24) and the quotient is multiplied by the initial or default basal split parameter (0.5). The parameter B_(auto) is the default amount of basal that is provided by basal delivery and the other 50% is provided by bolus deliveries of insulin.

Equation 5 is a correction factor CF_(auto) that is used by the AID algorithm to estimate how much a user's blood glucose drops for each unit of insulin. The correction factor CF_(auto) may be calculated differently for fast-acting insulin and for regular insulin. For example, Equation 5 illustrates the correction factor calculation based on the use of short-acting insulin, which is referred to as the “1800 rule.” For example, if a user takes 30 Units of short-acting insulin daily, the user's correction factor is determined by dividing 1800 by 30, which equals 60. The result (e.g., 60) means the user's insulin sensitivity factor is 1:60, or that one unit of short-acting insulin is expected to lower the user's blood glucose by about 60 mg/dL. For regular insulin, a “1500 rule” in which the value 1500 is substituted for the value 1800 of the “1800” rule may be used to determine a user's correction factor.

Equation 6 is an example calculation of a user's insulin-to-carbohydrate ratio IC_(auto), which is an amount of insulin used to lower the user's blood glucose from a particular amount of carbohydrates the user consumed. The particular calculation of Equation 6 may be used to determine the number of grams of carbohydrates that are approximately covered by 1 unit of insulin. The factor in the numerator, 450, is used when the user controls their diabetes with regular insulin, while a factor of 500 is used when the user controls their diabetes with fast-acting insulin.

These values B_(auto), CF_(auto), and IC_(auto) may then subsequently be automatically adapted based on the changes in the user's insulin needs over time. In addition, a user may desire to make changes to these automatically-generated parameters, B_(auto), CF_(auto), and IC_(auto), for more aggressive or less aggressive insulin deliveries both via the AID algorithm.

An example of a formula to calculate a daily insulin delivery factor may be a calculation of an amount of insulin that was delivered to the user per hour over the course of a period of time, such as the previous week (hence, the division by 7) is provided below.

$\begin{matrix} {{CF}_{auto} = \frac{1800}{TDI}} & {{Equation}5} \end{matrix}$ $\begin{matrix} {{IC}_{auto} = \frac{450}{TDI}} & {{Equation}6} \end{matrix}$

-   -   where the 7 in the numerator indicates the number of days in a         week and i is for each day of the previous 7 days.

The daily insulin delivery factor may be a calculation of an amount of insulin that was delivered to the user per hour over the course of a period of time, such as the previous week (hence, the division by 7) via basal insulin delivery:

$\left( {\sum\limits_{i = 1}^{7}{TDI}_{i}} \right)/7$ dailyInsulindeliveryfactor

-   -   where the 7 in the numerator indicates the number of days in a         week, the denominator value of 48 is the result of 24 times 0.5,         where 24 represents the number of hours in a day and 0.5         represents the percentage amount of insulin received by the user         via basal delivery. The expectation is that the user receives         half (i.e., 0.5 or 50%) of their insulin need via basal delivery         and the other half (i.e., 0.5 or 50%) via bolus deliveries.

The AID algorithm may be operable to consider the typical accepted clinical ranges in insulin delivery, and incorporate the user's changes as a mix of the user's current average insulin needs in, for example, the previous week, the user's suggested insulin changes may be implemented using the following parameter calculations:

$\frac{\left( {{\sum}_{i = 1}^{7}{TDI}_{i}} \right)/7}{48}$ hourlybasalInsulinDeliveryFactor

In the maximum function of Equation 7, the first term of—upper bound −0.8 and 0.4 that are used to reduce the insulin delivery factor (as shown above)—where 0.4 is considered the lowest feasible basal dosage boundary considering TDI. For example, a worst case basal/bolus split is 40:60, thus the value 0.4 or 40%). The AID algorithm may further reduce the 40% basal split by 20% by multiplying by 0.8. The AID algorithm sets the upper and the lower bounds at expected values based on insulin history. The second term of the maximum function (or overall middle term) (i.e., 0.6 B_(auto)+0.4 B_(user)) is an automated calculation that considers a user's input value (with a user trust of, for example, 40%). The first term and third term are the upper and lower bounds.

In Equation 7, the min/max envelopes may be typical ranges of each of the heuristics utilized by healthcare providers to estimate a user's insulin delivery parameters and may be allowed to be exceeded by up to 20% to account for changes in a user's lifestyle. The user's judgment may be trusted to a point of 40%, in the example. However, the user's judgment may be relied upon to a reasonable margin based on usage history and the like.

Equation 8 similarly accounts for user settings when calculating a final correction factor, CF_(final). As shown in Equation 5, the correction factor is commonly calculated with 1800 in the numerator. In the determination of CF_(final) in Equation 8, a value less than 1800, such as the 1600, may work better when basal insulin dosages make up less than 50% of the TDI. In addition, a value greater than 1800, such as 2200, may provide values that are better for those whose basal doses make up more than 50% of their TDI.

Equation 9 also is configured to account for user settings when calculating a final insulin-to-carbohydrate ratio, IC_(final). The insulin to carbohydrate ratio is frequently calculated using a value of 400 in the numerator, but may also use values such as 450, 500, 550, 600 or other clinically relevant value.

In an embodiment, these adjustments can be implemented “behind the scenes” and impact automated components of insulin delivery, such as the AID algorithm and suggested boluses. In another embodiment, these adjustments can be proposed to the users via a prompt in a graphical user interface, such as graphic user interface 204, and the users can make further changes as desired. In this embodiment, the graphical user interface may present a setting with an input that the user may toggle to override (“reset”) the adapted settings of the AID algorithm and force the AID algorithm to start adapting based on the user's input settings.

In an operational example, the routine 700 at block 702 receives a request to modify a specific parameter, wherein the specific parameter is based on a total daily insulin setting. In block 704, the routine 700 reduces the value of a general insulin delivery factor by a predetermined percentage to provide a minimized general insulin delivery factor. In block 706, the routine 700 determines a maximum value between the minimized general insulin delivery factor and a sum of a modified recommended specific parameter and a modified user-selected specific parameter. In block 708, the routine 700 determines a minimum between the determined maximum value and a maximized general insulin delivery factor. In block 710, the routine 700 sets a respective finalized specific parameter to the determined minimum.

FIG. 8 illustrates a drug delivery system operable to implement the examples of FIGS. 1-7 .

In some examples, the drug delivery system 800 that is suitable for delivering insulin to a user in accordance with exemplary embodiments. The drug delivery system 800 includes a wearable drug delivery device 802. The wearable drug delivery device 802 may be a wearable device that is worn on the body of the user. The wearable drug delivery device 802 may be directly coupled to a user (e.g., directly attached to a body part and/or skin of the user via an adhesive or the like). In an example, a surface of the wearable drug delivery device 802 may include an adhesive to facilitate attachment to the user.

The wearable drug delivery device 802 may include a processor 810. The processor 810 may be implemented in hardware, software, or any combination thereof. The processor 810 may, for example, be a microprocessor, a logic circuit, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC) or a microprocessor coupled to a memory. The processor 810 may maintain a date and time as well as other functions (e.g., calculations or the like). The processor 810 may be operable to execute a control application 816 stored in the storage 814 that enables the processor 810 to direct operation of the wearable drug delivery device 802. The control application 816 may control insulin delivery to the user per an AID control approach as describe herein. The storage 814 may hold histories 815 for a user, such as a history of automated insulin deliveries, a history of bolus insulin deliveries, meal event history, exercise event history and the like. In addition, the processor 810 may be operable to receive data or information. The storage 814 may include both primary memory and secondary memory. The storage 814 may include random access memory (RAM), read only memory (ROM), optical storage, magnetic storage, removable storage media, solid state storage or the like.

The wearable drug delivery device 802 may include a reservoir 812. The reservoir 812 may be operable to store drugs, medications, or therapeutic agents suitable for automated delivery, such as insulin, morphine, methadone, hormones, glucagon, glucagon-like peptide, blood pressure medicines, chemotherapy drugs, combinations of drugs, such as insulin and glucagon-like peptide, or the like. A fluid path to the user may be provided, and the wearable drug delivery device 802 may expel the insulin from the reservoir 812 to deliver the insulin to the user via the fluid path. The fluid path may, for example, include tubing coupling the wearable drug delivery device 802 to the user (e.g., via tubing coupling a cannula to the reservoir 812).

There may be one or more communications links with one or more devices physically separated from the wearable drug delivery device 802 including, for example, a controller 804 of the user and/or a caregiver of the user and/or a sensor 806. The communication links may include any wired or wireless communication link operating according to any known communications protocol or standard, such as Bluetooth®, Wi-Fi, a near-field communication standard, a cellular standard, or any other wireless protocol. The wearable drug delivery device 802 may also include a user interface 817, such as an integrated display device for displaying information to the user and in some embodiments, receiving information from the user. The user interface 817 may include a touchscreen and/or one or more input devices, such as buttons, knob, or a keyboard.

The wearable drug delivery device 802 may interface with a network 842. The network 842 may include a local area network (LAN), a wide area network (WAN) or a combination therein. A computing device 826 may be interfaced with the network, and the computing device may communicate with the insulin delivery device 802. The computing device 826 may be a healthcare provider device through which the user may interact with the user's controller 804. The AID algorithm controlled via the control application 820 may present a graphical user interface on the computing device 826 similar to the graphic user interface 204 of FIG. 2 so a healthcare provider or guardian may input information, such as that described with reference to the earlier examples.

The drug delivery system 800 may include a sensor 806 for sensing the levels of one or more analytes. The sensor 806 may be coupled to the user by, for example, adhesive or the like and may provide information or data on one or more medical conditions and/or physical attributes of the user. The sensor 806 may be a continuous glucose monitor (CGM), or another type of device or sensor that provides blood glucose measurements that is operable to provide blood glucose concentration measurements. The sensor 806 may be physically separate from the wearable drug delivery device 802 or may be an integrated component thereof. The sensor 806 may provide the processor 810 with data indicative of measured or detected blood glucose levels of the user. The information or data provided by the sensor 806 may be used to adjust drug delivery operations of the wearable drug delivery device 802.

The drug delivery system 800 may also include the controller 804. In some embodiments, no controller is needed. The controller 804 may be a special purpose device, such as a dedicated personal diabetes manager (PDM) device. The controller 804 may be a programmed general-purpose device, such as any portable electronic device including, for example, a dedicated processor, such as processor, a micro-processor or the like. The controller 804 may be used to program or adjust operation of the wearable drug delivery device 802 and/or the sensor 806. The controller 804 may be any portable electronic device including, for example, a dedicated device, a smartphone, a smartwatch, or a tablet. In the depicted example, the controller 804 may include a processor 819 and a memory/storage 818. The processor 119 may execute processes to manage a user's blood glucose levels and for control of the delivery of a drug or therapeutic agent to the user. The processor 819 may also be operable to execute programming code stored in the storage 818. For example, the storage may be operable to store one or more control applications 820, such as an AID algorithm for execution by the processor 819. The one or more control applications 820 may be responsible for controlling the wearable drug delivery device 802, including the automatic delivery of insulin based on recommendations and instructions provided by the AID algorithm to the user. For example, the AID algorithm as part of the one or more control applications 820 may generate a signal according to a determined dosage of insulin and cause the processor 819 to forward the signal via a transceiver, such as 828 or 827 of the communication device 822, to the wearable drug delivery device 802. The memory or storage 818 may store the one or more control applications 820, histories 821 like those described above for the insulin delivery device 802 and other data and/or programs.

The controller 804 may include a user interface (UI) 823 for communicating with the user. The user interface 823 may include a display, such as a touchscreen, for displaying information. The touchscreen may also be used to receive input when it is a touch screen. The user interface 823 may also include input elements, such as a keyboard, button, knob or the like.

The controller 804 may interface via a wireless communication link of the wireless communication links 888 with a network, such as a LAN or WAN or combination of such networks that provides one or more servers or cloud-based services 828. The cloud-based services 828 may be operable to store user history information, such as blood glucose measurement values over a set period of time (e.g., days, months, years), insulin delivery amounts (both basal and bolus dosages), insulin delivery times, types of insulin, indicated mealtimes, blood glucose measurement value trends or excursions or other user-related diabetes treatment information.

Other devices, like smart accessory device 830 (e.g., a smartwatch or the like), fitness device 832 and wearable device 834 may be part of the drug delivery system 800. These devices may communicate with the wearable drug delivery device 802 to receive information and/or issue commands to the wearable drug delivery device 802. These devices 830, 832 and 834 may execute computer programming instructions to perform some of the control functions otherwise performed by processor 810 or processor 819. These devices 830, 832 and 834 may include input/output devices, such as touchscreen displays for displaying information such as current blood glucose level, insulin on board, insulin deliver history, or other parameters or treatment-related information and/or receiving inputs, which may include signals containing the information from the analyte sensor 806. The display may, for example, be operable to present a graphical user interface for providing input, such as request a change in basal insulin dosage or delivery of a bolus of insulin. These devices 830, 832 and 834 may also have wireless communication connections with the sensor 806 to directly receive blood glucose level data.

In an operational example, the controller 804 includes a processor. The processor 819 of the controller 804 may execute an AID algorithm that is one of the control applications 820 stored in the memory or storage 818. The processor may be operable to present, on an input/output device that is the user interface 823, a graphical user interface that offers input fields for a generalized parameter of a number of generalized parameters of the AID algorithm. The number of generalized parameters is substantially less than a number of specific parameters of the AID algorithm. The processor 819 may receive an input of at least one generalized parameter corresponding to a user. In response to receiving the input of the at least one generalized parameter, the processor may set one or more of the number of specific parameters of the automated insulin delivery algorithm based on the inputted at least one generalized parameter. The processor 819 may begin collecting physiological condition data related to the user from sensors, such as the analyte sensor 806 or heart rate data from the fitness device 832 or smart accessory device 830. The processor 819 executing the AID algorithm may determine a dosage of insulin to be delivered based on the collected physiological condition of the user. The processor 819 may output a signal via one of the transceivers 827 or 828 to the wearable drug delivery device 802. The outputted signal may cause the pump 813 to deliver an amount of related to the determined dosage of insulin in the reservoir 812 to the user based on an output of the AID algorithm.

In another operational example, the controller 804 may be operable to execute programming code that causes the processor 819 of the controller 804 to perform the following functions. The processor 819 may in response to receipt of a user selected basal setting, determine value of an hourly basal insulin delivery factor. The value of the hourly basal insulin delivery factor may be reduced by a predetermined percentage to provide a minimized hourly basal insulin delivery factor. A maximum value between the reduced-percentage insulin delivery factor and a sum of a modified recommended basal dosage and a modified, user-selected basal dosage may also be determined. The processor 819 may determine a minimum between the determined maximum and a maximized hourly basal insulin delivery factor and may set a final basal dosage setting of the AID algorithm to the determined minimum. The AID algorithm may generate instructions for the pump 813 to deliver basal insulin to the user that remains below the determined minimum amount which is the final basal dosage setting for a period of time such as a day or the like.

In yet another operational example, the controller 804 may be operable to execute programming code that causes the processor 819 of the controller 804 to perform the following functions. The processor 819 may in response to receipt of a user selected correction factor setting, determine a value of a daily correction factor. The value of the daily correction factor may be reduced by a predetermined percentage to provide a minimized daily correction factor. A maximum value between the minimized daily correction factor and a sum of a modified recommended correction factor and a modified, user-selected correction factor may be determined. The processor 819 may determine a minimum between the determined maximum and a maximized daily correction factor. The processor 819 may set a final correction factor setting to the determined minimum. The AID algorithm may generate instructions for the pump 813 to deliver basal insulin to the user according to the final correction factor setting.

In a further operational example, the controller 804 may be operable to execute programming code that causes the processor 819 of the controller 804 to perform the following functions. The processor 819 may in response to receipt of a user selected insulin-to-carbohydrate setting, determine a value of a daily insulin-to-carbohydrate factor. The value of the daily insulin-to-carbohydrate factor may be reduced by a predetermined percentage to provide a minimized daily correction factor. A maximum value between the minimized daily insulin-to-carbohydrate factor and a sum of a modified recommended insulin-to-carbohydrate factor and a modified, user-selected insulin-to-carbohydrate factor may be determined by the processor 819. In addition, the processor 819 may determine a minimum between the determined maximum and a maximized daily insulin-to-carbohydrate factor. The processor 819 may set a final insulin-to-carbohydrate setting to the determined minimum. The AID algorithm may generate instructions for the pump 813 to deliver basal insulin to the user according to the final insulin-to-carbohydrate setting.

Further the insulin delivery recommendations provided by the AID algorithm may be individualized based on the user's response in the past. Glucose excursion patterns, incidences of hyperglycemia/hypoglycemia, and the like may be used to optimize insulin delivery for the future.

Some examples of the disclosed device or processes may be implemented, for example, using a storage medium, a computer-readable medium, or an article of manufacture which may store an instruction or a set of instructions that, if executed by a machine (i.e., processor or controller), may cause the machine to perform a method and/or operation in accordance with examples of the disclosure. Such a machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware and/or software. The computer-readable medium or article may include, for example, any suitable type of memory unit, memory, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, for example, memory (including non-transitory memory), removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk, magnetic media, magneto-optical media, removable memory cards or disks, various types of Digital Versatile Disk (DVD), a tape, a cassette, or the like. The instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, programming code, and the like, implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language. The non-transitory computer readable medium embodied programming code may cause a processor when executing the programming code to perform functions, such as those described herein.

Certain examples of the present disclosure were described above. It is, however, expressly noted that the present disclosure is not limited to those examples, but rather the intention is that additions and modifications to what was expressly described herein are also included within the scope of the disclosed examples. Moreover, it is to be understood that the features of the various examples described herein were not mutually exclusive and may exist in various combinations and permutations, even if such combinations or permutations were not made express herein, without departing from the spirit and scope of the disclosed examples. In fact, variations, modifications, and other implementations of what was described herein will occur to those of ordinary skill in the art without departing from the spirit and the scope of the disclosed examples. As such, the disclosed examples are not to be defined only by the preceding illustrative description.

Program aspects of the technology may be thought of as “products” or “articles of manufacture” typically in the form of executable code and/or associated data that is carried on or embodied in a type of non-transitory, machine readable medium. Storage type media include any or all of the tangible memory of the computers, processors or the like, or associated modules thereof, such as various semiconductor memories, tape drives, disk drives and the like, which may provide non-transitory storage at any time for the software programming. It is emphasized that the Abstract of the Disclosure is provided to allow a reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, various features are grouped together in a single example for streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed examples require more features than are expressly recited in each claim. Rather, as the following claims reflect, novel subject matter lies in less than all features of a single disclosed example. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate example. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein,” respectively. Moreover, the terms “first,” “second,” “third,” and so forth, are used merely as labels and are not intended to impose numerical requirements on their objects.

The foregoing description of examples has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the present disclosure to the precise forms disclosed. Many modifications and variations are possible considering this disclosure. It is intended that the scope of the present disclosure be limited not by this detailed description, but rather by the claims appended hereto. Future filed applications claiming priority to this application may claim the disclosed subject matter in a different manner and may generally include any set of one or more features as variously disclosed or otherwise demonstrated herein. 

What is claimed is:
 1. A controller comprising: a processor; and a memory storing programming code that, when executed by the processor, configure the processor to: receive via a graphical user interface an input indicating an activity level of a user; in response to the indicated activity level, set a basal split parameter used in a total daily insulin formula; determine a total daily insulin value of the user using the total daily insulin formula; determine a basal total daily insulin to be provided to the user; and calculate basal insulin dosages based on the determined basal total daily insulin.
 2. The controller of claim 1, wherein the processor, when executing the programming code, is further configured to: determine whether the indicated activity level is a standard activity level or a high activity level.
 3. The controller of claim 2, wherein the processor, when executing the programming code, is further configured, when setting the basal split parameter, to: in response to the indicated activity level being the standard activity level, set the basal split parameter to be even, wherein the basal split parameter is set to a value that causes a basal portion of total daily insulin value and a bolus portion of total daily insulin value to be equal.
 4. The controller of claim 2, wherein the processor, when executing the programming code, is further configured, when setting the basal split parameter, to: in response to the indicated activity level being the high activity level, set the basal split parameter to be uneven, wherein a value of the basal split parameter causes a basal portion of the total daily insulin value to be less than a bolus portion of total daily insulin value.
 5. The controller of claim 4, further comprising: an accelerometer operable to provide an indication of activity of the user, and wherein the processor, when executing the programming code, is configured to: access the accelerometer; and in response to a detection of inactivity, generate an alert on the graphical user interface that the value of the basal split parameter is set to be uneven.
 6. A system, comprising: a non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that, when executed by a processor, cause the processor to: receive, via a graphical user interface an input indicating an activity level of a user; in response to the indicated activity level, set a basal split parameter used in a total daily insulin formula; determine a total daily insulin value of the user using the total daily insulin formula; determine a basal total daily insulin to be provided to the user; and calculate basal insulin dosages based on the determined basal total daily insulin.
 7. The system of claim 6, wherein the computer-readable storage medium further includes instructions that, when executed by the processor, cause the processor to: determine whether the indicated activity level is a standard activity level or a high activity level.
 8. The system of claim 7, wherein the computer-readable storage medium further includes instructions that, when executed by the processor to set the basal split parameter, further cause the processor to: in response to the indicated activity level being the standard activity level, set the basal split parameter to be even, wherein the basal split parameter is set to a value that causes a basal portion of total daily insulin value and a bolus portion of total daily insulin value to be equal.
 9. The system of claim 7, wherein the computer-readable storage medium further includes instructions that, when executed by the processor to set the basal split parameter, further cause the processor to: in response to the indicated activity level being the high activity level, set the basal split parameter to be uneven, wherein a value of the basal split parameter causes a basal portion of the total daily insulin value to be less than a bolus portion of total daily insulin value.
 10. The system of claim 6, further comprising: an accelerometer accessible by the processor.
 11. The system of claim 10, wherein the computer-readable storage medium further includes instructions that, when executed by the processor, further cause the processor to: access the accelerometer to obtain an indication of activity of the user; and in response to a detection of inactivity less than the indicated high activity level, generate an alert on the graphical user interface that the value of the basal split parameter is set to be uneven.
 12. The system of claim 6, further comprising: a wearable drug delivery device having a reservoir storing insulin, and a processor executing an automated insulin delivery algorithm, and the processor of the wearable drug delivery device is operable to: output an amount of insulin of the calculated basal insulin dosages from the reservoir.
 13. The system of claim 12, further comprising: an analyte sensor operable to detect levels of one or more analytes, wherein the analyte sensor is operable to provide the processor with data indicative of glucose levels of the user.
 14. The system of claim 12, wherein the computer-readable storage medium further includes instructions that, when executed by the processor to set the basal split parameter, further cause the processor to: receive the data indicative of the glucose level of the user; and adjust drug delivery operations of the wearable drug delivery device based on the data indicative of the glucose level of the user and the calculated basal insulin dosages.
 15. The system of claim 6, further comprising: a user interface coupled to the processor, wherein the processor is operable to present the graphical user interface on the user interface.
 16. A method, comprising: receiving, via a graphical user interface, an input indicating an activity level of a user; in response to the indicated activity level, setting by a processor a basal split parameter used in a total daily insulin formula; determining a total daily insulin value of the user using the total daily insulin formula; determining a basal total daily insulin to be provided to the user; and calculating basal insulin dosages based on the determined basal total daily insulin.
 17. The method of claim 11, further comprising: determining whether the indicated activity level is a standard activity level or a high activity level.
 18. The method of claim 12, when setting the basal split parameter, further comprises: in response to the indicated activity level being the standard activity level, setting the basal split parameter to be even, wherein the basal split parameter is set to a value that causes a basal portion of total daily insulin value and a bolus portion of total daily insulin value to be equal.
 19. The method of claim 12, when setting the basal split parameter, further comprises: in response to the indicated activity level being the high activity level, set the basal split parameter to be uneven, wherein a value of the basal split parameter causes a basal portion of the total daily insulin value to be less than a bolus portion of total daily insulin value.
 20. The method of claim 14, further comprises: obtain an indication of activity of the user from an accelerometer; and in response to a detection of inactivity less than the indicated high activity level, generating an alert on the graphical user interface that the value of the basal split parameter is set to be uneven. 